home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / misc / gms_dev.lha / GMSDev / EModules / gms / dpkernel / dpkernel.e next >
Encoding:
Text File  |  1998-10-23  |  5.5 KB  |  162 lines

  1. /*
  2. **  $VER: dpkernel.e V2.1
  3. **
  4. **  General include file for programs using the DPKernel.
  5. **
  6. **  (C) Copyright 1996-1998 DreamWorld Productions.
  7. **      All Rights Reserved
  8. */
  9.  
  10. OPT MODULE
  11. OPT EXPORT
  12. OPT PREPROCESS
  13.  
  14. MODULE 'gms/system/register'
  15.  
  16. CONST DPKVersion  = 2,
  17.       DPKRevision = 1
  18.  
  19. CONST SKIPENTRY  = 0,
  20.       ENDLIST    = -1,
  21.       LISTEND    = -1,
  22.       TAGEND     = 0
  23.  
  24. CONST TBYTE    = $00000000,
  25.       TLONG    = $80000000,
  26.       TWORD    = $40000000,
  27.       TAPTR    = $C0000000,
  28.       TSTEPIN  = $10000000,
  29.       TSTEPOUT = $08000000,
  30.       TTRIGGER = $04000000
  31.  
  32. CONST TAG_IGNORE = 1,
  33.       TAG_MORE   = 2,
  34.       TAG_SKIP   = 3
  35.  
  36. CONST GET_NOTRACK = $00010000,
  37.       GET_PUBLIC  = $00020000,
  38.       GET_SHARE   = $00060000
  39.  
  40. /***************************************************************************
  41. ** Header used for all objects.
  42. */
  43.  
  44. OBJECT head
  45.   id      :INT
  46.   version :INT
  47.   class   :LONG ->PTR TO sysobject
  48.   stats   :LONG ->PTR TO stats
  49. ENDOBJECT
  50.  
  51. /****************************************************************************
  52. ** The Stats structure is private to the system, and is handled by Get()
  53. */
  54.  
  55. OBJECT stats
  56.   empty       :LONG    /* */
  57.   private     :LONG    /* Reserved pointer for use by child objects */
  58.   flags       :LONG    /* General flags */
  59.   exclusive   :LONG    /* Who owns the exclusive */
  60.   lockcount   :INT     /* A running count of active locks */
  61.   emp         :INT     /* */
  62.   memflags    :LONG    /* Recommended memory allocation flags */
  63.   container   :LONG
  64.   resourcelist:LONG
  65.   totaldata   :LONG
  66.   totalvideo  :LONG
  67.   totalsound  :LONG
  68.   totalblit   :LONG
  69. ENDOBJECT
  70.  
  71. CONST ST_SHARED      = $00000001,  /* The object is being openly shared */
  72.       ST_EXCLUSIVE   = $00000002,  /* If the object is exclusive to a task */
  73.       ST_PUBLIC      = $00000004,  /* If the object can be passed around */
  74.       ST_NOTRACKING  = $00000008,  /* Do not track resources on this object */
  75.       ST_INITIALISED = $00000010   /* This is set by Init() */
  76.  
  77. /****************************************************************************
  78. ** Raw Data object.
  79. */
  80.  
  81. CONST VER_RAWDATA  = 1,
  82.       TAGS_RAWDATA = $FFFB0000 OR ID_RAWDATA
  83.  
  84. OBJECT rawdata
  85.   head[1] :ARRAY OF head   /* Standard structure header */
  86.   size    :LONG            /* Size of the data in bytes */
  87.   data    :PTR TO CHAR     /* Pointer to the data */
  88. ENDOBJECT
  89.  
  90. /****************************************************************************
  91. ** ItemList object.
  92. */
  93.  
  94. CONST VER_ITEMLIST  = 1,
  95.       TAGS_ITEMLIST = $FFFB0000 OR ID_ITEMLIST
  96.  
  97. OBJECT itemlist
  98.   head[1] :ARRAY OF head /* Standard header */
  99.   array   :LONG          /* Pointer to the list's array, terminated with -1 */
  100.   maxsize :LONG          /* Maximum amount of objects that this list can hold */
  101. ENDOBJECT
  102.  
  103. /***************************************************************************
  104. ** Universal errorcodes returned by certain functions.
  105. */
  106.  
  107. ENUM  ERR_OK,          /* Function went OK */
  108.       ERR_NOMEM,       /* Not enough memory available */
  109.       ERR_NOPTR,       /* Required pointer not present */
  110.       ERR_INUSE,       /* Previous allocations have not been freed */
  111.       ERR_STRUCT,      /* Structure version not supported or not found */
  112.       ERR_FAILED,      /* General failure */
  113.       ERR_FILE,        /* File error, eg file not found */
  114.       ERR_DATA,        /* There is an error in the given data */
  115.       ERR_SEARCH,      /* A search routine failed to make a match */
  116.       ERR_SCRTYPE,     /* Screen Type not recognised */
  117.       ERR_MODULE,      /* Trouble with initialising/using a module */
  118.       ERR_RASTCOMMAND, /* Invalid raster command detected */
  119.       ERR_RASTERLIST,  /* Complete rasterlist failure */
  120.       ERR_NORASTER,    /* Rasterlist missing from Screen->RasterList */
  121.       ERR_DISKFULL,    /* Disk full error */
  122.       ERR_FILEMISSING, /* File not found */
  123.       ERR_WRONGVER,    /* Wrong version or version not supported */
  124.       ERR_MONITOR,     /* Monitor driver not found or cannot be used */
  125.       ERR_UNPACK,      /* Problem with unpacking of data */
  126.       ERR_ARGS,        /* Invalid arguments passed to function */
  127.       ERR_NODATA,      /* No data is available for use */
  128.       ERR_READ,        /* Error reading data from file */
  129.       ERR_WRITE,       /* Error writing data to file */
  130.       ERR_LOCK,        /* Could not obtain lock on object */
  131.       ERR_EXAMINE,     /* Could not examine directory or file */
  132.       ERR_LOSTCLASS,   /* This object has lost its class reference */
  133.       ERR_NOACTION,    /* This object does not support the required action */
  134.       ERR_NOSUPPORT,   /* Object does not support the given data */
  135.       ERR_MEMORY,      /* General memory error */
  136.       ERR_TIMEOUT,     /* Function timed-out before successful completion */
  137.       ERR_NOSTATS,     /* This object has lost its stats structure */
  138.       ERR_GET,
  139.       ERR_INIT,
  140.       ERR_NOPERMISSION
  141.  
  142. CONST ERR_SUCCESS = 0  /* Synonym for ERR_OK */
  143.  
  144. /***************************************************************************
  145. ** Memory types used by AllocMemBlock().  This is generally identical to the
  146. ** exec definitions but CHIP is renamed to VIDEO (displayable memory) and
  147. ** there is an addition of BLIT and SOUND specific memory.
  148. */
  149.  
  150. CONST MEM_DATA      = $00000000,
  151.       MEM_PUBLIC    = $00000001,
  152.       MEM_VIDEO     = $00000002,
  153.       MEM_BLIT      = $00000004,
  154.       MEM_SOUND     = $00000008,
  155.       MEM_AUDIO     = $00000008,
  156.       MEM_CODE      = $00000010,
  157.       MEM_PRIVATE   = $00000020,
  158.       MEM_NOCLEAR   = $00000040,
  159.       MEM_RESOURCED = $00000080,
  160.       MEM_UNTRACKED = $80000000
  161.  
  162.